﻿using CleanArchitecture.Infrastructure.Entities;
using System;
using System.ComponentModel;

namespace CleanArchitecture.Infrastructure.Models.SystemManage
{
    /// <summary>
    /// 数据字典树
    /// </summary>
    public class SystemDataDicTreeItemModel : BaseEntityModel
    {
        /// <summary>
        /// 数据字典树父级Id
        /// </summary>
        [DisplayName("所属父级")]
        public int ParentId { get; set; }

        /// <summary>
        /// 数据字典分组类型：
        /// Organize 组织机构
        /// ModuleButton 系统模块分配按钮
        /// </summary>
        public EntityEnumConfig.DataDicGroup GroupType { get; set; }

        /// <summary>
        /// 数据字典分组下的类型分类
        /// 1.所有系统模块将从数据字典中获取所有功能按钮，通过分配按钮使系统模块对其中数据进行操作
        /// 分系统模块和业务模块
        /// 2.所有客户端ClientApp站点数据从数据字典获取 
        ///  当DataDicTree DataDicGroup为 ClientApp时定义站点客户端类类型
        ///  根节点(ParentId = 0)的DataType指定默认客户端站点
        /// </summary>
        [DisplayName("附加属性")]
        public EntityEnumConfig.DataType? DataType { get; set; }

        /// <summary>
        /// 数据字典树功能名称
        /// </summary>
        [DisplayName("标题名称")]
        public string DataDicTreeName { get; set; }

        [DisplayName("显示名称")]
        public string DisplayName { get; set; }

        [DisplayName("排序")]
        public int DisplayOrder { get; set; }

        public EntityEnumConfig.YesorNo IsActive { get; set; }

        public DateTime CreatedOnTimeUtc { get; set; }
    }
}
